/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.GrupoTerapeuticoMedicamento;
import java.util.Vector;
import org.hibernate.Query;

/**
 *
 * @author Gonzalo
 */
public class GrupoTerapeuticoMedicamentoFisica extends CapaFisica {

    /**
     * Retorna el vector de objetos GrupoTerapéuticoMedicamento según el nombre
     * del grupo terapéutico.
     *
     * @param nombreGrupoTerapeutico El nonbre del grupo terapéutico
     * @param estado false si es baja lógica, true si aún activo
     * @return El vector de objetos GrupoTerapeuticoMedicamento consultado, null
     * si no existe
     */
    public static Vector<GrupoTerapeuticoMedicamento>
            getVectorGrupoTerapeuticoMedicamentoPorNombreYEnBd(
            String nombreGrupoTerapeutico, boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from GrupoTerapeuticoMedicamento " +
                "where lower(sinacentos(nombreGrupoTerapeuticoMedicamento)) "
                + "like lower(sinacentos('%" + nombreGrupoTerapeutico + "%')) "
                + "and enBdGrupoTerapeuticoMedicamento = " + estado);
        return getVectorObjetos(q);
    }

    /**
     * Retorna el objeto GrupoTerapéuticoMedicamento según el nombre del grupo
     * terapéutico.
     *
     * @param nombreGrupoTerapeutico El nonbre del grupo terapéutico
     * @param estado false si es baja lógica, true si aún activo
     * @return El objeto GrupoTerapeuticoMedicamento consultado, null si no
     * existe
     */
    public static GrupoTerapeuticoMedicamento
            getGrupoTerapeuticoMedicamentoPorNombreYEnBd(
            String nombreGrupoTerapeutico, boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from GrupoTerapeuticoMedicamento " +
                "where lower(sinacentos(nombreGrupoTerapeuticoMedicamento)) "
                + "= lower(sinacentos('" + nombreGrupoTerapeutico + "')) "
                + "and enBdGrupoTerapeuticoMedicamento = " + estado);

        return (GrupoTerapeuticoMedicamento) getObjeto(q);
    }

    /**
     * Retorna el objeto GrupoTerapeuticoMedicamento según el id.
     *
     * @param idGrupoTerapeuticoMedicamento El id del grupo terapéutico del
     * medicamento
     * @return El objeto GrupoTerapeuticoMedicamento consultado, null si no existe
     */
    public static GrupoTerapeuticoMedicamento getGrupoTerapeuticoMedicamentoPorId(
            int idGrupoTerapeuticoMedicamento) {
        Query q = Sesion.sesion.createQuery(
                "from GrupoTerapeuticoMedicamento "
                + "where idGrupoTerapeuticoMedicamento = "
                + idGrupoTerapeuticoMedicamento
                );

        return (GrupoTerapeuticoMedicamento) getObjeto(q);
    }

}
